Swift(UI)中的“ some”关键字是什么?
新的SwiftUI教程具有以下代码:struct ContentView: View { var body: some View { Text("Hello World") }}第二行单词some和在其网站上被高亮显示,就像它是一个关键字一样。Swift5.1似乎没有some作为关键字,而且我也看不出该词some还有什么其他用处,因为它通常位于类型所在的位置。是否有Swift的未发布新...
2024-01-10Swift自定义字体Xcode
我正在使用Swift在Xcode(7.0版)中创建游戏,并且我想在游戏结束时以字体“ gameOver.ttf”显示标签“ GameOver”。我已将字体添加到资源文件夹中。我不知道如何在我的代码中引用它。我可以帮忙吗?我的代码:let label = SKLabelNode(fontNamed: "gameOver") label.text = "Game Over" label.fontColor = SKColor.redColor() la...
2024-01-10swift 包管理怎么用
请教一下,swift包管理怎么用?我创建了一个swift项目,然后在根目录创建了一个Package.swift文件,代码如下:import PackageDescriptionlet package = Package( name: "Format", dependencies: [ .Package(url: "https://github.com/marmelroy/Format.git", majorVersion: 1), ])但是这里“ PackageDescrip...
2024-01-10在Swift 3中,是否需要dispatch_once?
好的,所以我在Xcode 8中找到了新的SwiftyDispatchAPI。我在使用中很有趣DispatchQueue.main.async,并且我一直Dispatch在Xcode中的模块周围浏览以找到所有新的API。但是我也要dispatch_once确保单例创建和一次性设置之类的操作不会被执行多次(即使在多线程环境中也是如此)…并且dispatch_once在新的Dispatch模块中找不...
2024-01-10Swift Codable多种类型
我尝试解析返回json对象的api。我的问题是,在以下示例中,某些键有时是字符串,有时是类似“ Value”键的对象:[{ "Description": null, "Group": "Beskrivning av enheten", "GroupDescription": null, "Id": "Description", "Name": "Mer om enheten", "Value": "Det finns möjlighet till parkering på...
2024-01-10什么时候在Swift中使用@objc?
在Swift中,我看到一些类似的方法:@objc private func doubleTapGestureRecognized(recognizer: UITapGestureRecognizer)我想知道何时使用@objc?我读了一些文档,但他们说要在Objective-C中调用它时,应添加@objc标志但是,这是Swift中的私有函数,@ obj的作用是什么?回答:private表示仅在Swift中可见。因此使用@objc在Objective-C...
2024-01-10为什么这个swift代码错了?
出于某种原因,因为我更新我碰到下面的错误与MultiPeer connectivty工作时,我似乎无法弄清楚:为什么这个swift代码错了?“类型MessageServiceManager不符合协议MCSession”一切都过去完美,但现在出于某种原因,一切都破裂了,我不知道为什么。 这是它让所有调动起来代码:extension MessageServiceManager : MCSess...
2024-01-10Swift JSONDecoder类型不匹配错误
我试图在Swift中使用JSONDecoder将JSON转换为Structs,所以我编写了所有Structs,将它们修改了几个小时,但它仍然给我这个错误。我不知道是否有办法查看给出此信息的行。我将在下面发布我的struct,并在其后发布JsonFile链接。完整的错误描述是:typeMismatch(Swift.Dictionary<Swift.String,Any>,Swift.DecodingError.Con...
2024-01-10Swift语言中的“ @_silgen_name”是什么?
在Swift 2.2中阅读Darwin库时,我发现了以下代码。@warn_unused_result@_silgen_name("_swift_Darwin_sem_open2")internal func _swift_Darwin_sem_open2( name: UnsafePointer<CChar>, _ oflag: CInt) -> UnsafeMutablePointer<sem_t>第二行中的“ @_silgen_name”是什么?我从这里找到了以下信息,但是我想要更多详细信息,例如A...
2024-01-10Swift 3:是否继承NSObject?
我已经读过类似这样的文章,其中介绍了NSObject在Swift中进行子类化或仅具有其本机基础class而不进行子类化的区别。但是它们都有些过时,我对此主题尚不清楚。什么时候应该继承NSObject?子类化与不子类化之间的实际区别是什么?Swift中的建议是什么?回答:苹果公司有关NSObject的文档介绍如下:NS...
2024-01-10Swift&XCode - 如何修改按钮的宽度
最近,我需要分割这个按钮,使它们被约束在屏幕上的高度相同但宽度不同,分割为60-40。他们还必须响应任何Iphone/Ipad屏幕。我目前已将它们设置在堆栈视图中,以便它们被正确定位,但这不是最佳的,也不允许我修改它们的宽度。Swift&XCode - 如何修改按钮的宽度是否有XCode创造者解决方案?如果没...
2024-01-10Swift中的Block语法
我正在尝试从Objective-C重写为Swift,我无法弄清楚语法或无法理解文档这是我编写的Objective-C的简化示例:[UIView animateWithDuration:10.0 animations:^{self.navigationController.toolbar.frame = CGRectMake(0,10,0,10);}];我该如何在Swift中编写代码?这是模板自动完成功能提供的:UIView.animateWithDuration(duration: NSTimeInterv...
2024-01-10Swift-覆盖setSelected的UIButton
我在Swift中制作了一个UIButton子类,以在选择时执行自定义绘图和动画Swift - (void)setSelected:(BOOL)selected中的ObjC中的覆盖相当于什么?我试过了override var selected: Bool所以我可以实现一个观察者,但是我得到Cannot override with a stored property 'selected'回答:像其他提到的一样,您可以使用它willSet来检测更改。...
2024-01-10Swift概述-为什么要选装?
示例通常,在编程时,有必要区分具有值的变量和没有值的变量。对于引用类型,例如C指针,null可以使用特殊值,例如来指示变量没有值。对于内在类型(例如整数),难度更大。可以使用指定的值,例如-1,但这取决于该值的解释。它还消除了正常使用中的“特殊”值。为了解决这个问题,Swift允许...
2024-01-10SKPhysicsBody避免碰撞Swift / SpriteKit
我的场景中有3个SKSpriteNodes。现场有 ,一枚 和一个 。我不想 和 互相碰撞,而是与 碰撞。我为每个节点分配了一个不同的collisionBitMask和categoryBitMask:enum CollisionType:UInt32{ case Bird = 1 case Coin = 2 case Border = 3 }像这样:bird.physicsBody!.categoryBitMask = CollisionType.Bird.rawValuebi...
2024-01-10在Swift中捕捉NSException
Swift中的以下代码引发NSInvalidArgumentException异常:task = NSTask()task.launchPath = "/SomeWrongPath"task.launch()如何捕获异常?据我了解,Swift中的try /catch是针对Swift中引发的错误,而不是针对NSTask之类的对象引发的NSExceptions(我猜是用ObjC编写的)。我是Swift的新手,所以可能我缺少明显的东西…:这是该错误的...
2024-01-10检查字符串在Swift中是否为有效的double值
在Swift中,如何检查字符串是否为有效的双精度值?我已经使用从下面的扩展这个问题的(但为float),但如果该值不能被转换,它简单地返回“0”:extension String { var doubleValue:Double? { return (self as NSString).doubleValue }}理想情况下,我希望它返回,nil以便可以将其包含在中if-let,如下所示:i...
2024-01-10如何在Swift的Documents目录中检查文件是否存在?
如何检查文件目录中Swift是否存在文件?我正在使用[ .writeFilePath]将图像保存到Documents目录中的方法,并且每次启动应用程序时都想加载它。但是,如果没有保存的图像,我将使用默认图像。但是我只是无法理解如何使用该[ func fileExistsAtPath(_:) ]功能。有人可以举一个使用传递路径参数的函数的例子。...
2024-01-10Swift数组的removeObjectsAtIndexes
一个与等效的Swift数组NSMutableArray是-removeObjectsAtIndexes:什么?逐个删除每个索引不起作用,因为删除一个索引后剩余的索引会移动。什么是实现此功能的有效方法?回答:这是我当前使用的解决方案:extension Array { mutating func removeObjectAtIndexes(indexes: [Int]) { var indexSet = NSMutableIndexSet() for ind...
2024-01-10Swift:使用GCDAsyncUdpSocket接收UDP
背景:我希望能够在我的iOS应用程序和服务器之间发送和接收UDP数据包。服务器将所有传入消息回显给应用程序客户端。 。我有一个StartViewController,它启动了两个实现GCDAsyncUdpSocketDelegate的类,一个用于发送,一个用于接收。“发送套接字”正在工作,服务器接收到消息。问题:在发送后,该应用程...
2024-01-10swift怎么比较两个结构体实例是否相等?
func mapView(mapView: MKMapView!, regionDidChangeAnimated animated: Bool) { let span = MKCoordinateSpanMake(0.005, 0.005); let region = MKCoordinateRegionMake(map.userLocation.coordinate, span) if region != mapView.region { ...
2024-01-10在Swift中使用JSONDecoder进行错误处理
我JSONDecoder()在Swift中使用,需要获取更好的错误消息。在调试描述中(例如),我可以看到诸如“给定数据不是有效的JSON”之类的消息,但是我需要知道的是,而不是网络错误(例如)。 let decoder = JSONDecoder() if let data = data{ do { // process data } catch let error { // can access ...
2024-01-10如何在Swift 4中检测我的设备是否为iPhoneX?
我相信有更好,更合适的方法来做到这一点。但是现在我正在使用UIScreen.main.bounds来检测是否正在处理iPhoneX(812高)。顺便说一句,这个特定的应用程序仅适用于风景。这就是我在此功能中要为幻灯片视图创建幻灯片的地方:func setupSlideViews(slideView: [SlideView]) { let screenSize = UIScreen.main.bounds var fra...
2024-01-10Swift子类UIView
我想子类化UIView并显示类似视图的登录名。我已经在Objective-C中创建了它,但是现在我想将其移植到Swift。我不使用情节提要,所以我用代码创建了所有UI。但是第一个问题是我必须执行initWithCoder。我给了它一个默认的实现,因为它不会被调用。现在,当我运行程序时,它崩溃了,因为我也必须实现init...
2024-01-10Swift中的NSNotificationCenter addObserver
如何在Swift中将观察者添加到默认通知中心?我正在尝试移植此行代码,以便在电池电量变化时发送通知。[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryLevelChanged:) name:UIDeviceBatteryLevelDidChangeNotification object:nil];回答:与Objective-C API相同,但是使用Swift的语法。NotificationCent...
2024-01-10